﻿using System.Threading.Tasks;

namespace NetworkLibrary
{
    public interface IAsyncProcedureCall
    {
        Task<Result<TResponse>> Call<TRequest, TResponse>(TRequest message) where TRequest : IMessage where TResponse : IMessage;
        Task Call<TRequest>(TRequest message) where TRequest : IMessage;
    }
}
